import DK_ColdWeapon from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_ColdWeapon';
import DK_ControlCorpse from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_ControlCorpse';
import DK_DeathCoil from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_DeathCoil';
import DK_DeathHit from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_DeathHit';
import DK_IceBody from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_IceBody';
import DK_PlagueDomain from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_PlagueDomain';
import DK_PlagueHit from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_PlagueHit';
import DK_VitalityBlood from 'code/Scripts/Abilities/ClassAbility/DeathKnight/DK_VitalityBlood';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';

declare global {
    var DKAbilities: DeathKnightAbilityManager;
}

export default class DeathKnightAbilityManager extends ClassAbilityManagerBase {
    DK_IceBody: DK_IceBody;
    DK_ColdWeapon: DK_ColdWeapon;
    DK_ControlCorpse: DK_ControlCorpse;
    DK_VitalityBlood: DK_VitalityBlood;
    DK_DeathCoil: DK_DeathCoil;
    DK_DeathHit: DK_DeathHit;
    DK_PlagueHit: DK_PlagueHit;
    DK_PlagueDomain: DK_PlagueDomain;
    constructor() {
        super();
        DKAbilities = this;

        this.DK_IceBody = new DK_IceBody('Ablt');
        this._abilities.set('Ablt', this.DK_IceBody);

        this.DK_ColdWeapon = new DK_ColdWeapon('Ablw');
        this._abilities.set('Ablw', this.DK_ColdWeapon);

        this.DK_ControlCorpse = new DK_ControlCorpse('Aczs');
        this._abilities.set('Aczs', this.DK_ControlCorpse);

        this.DK_VitalityBlood = new DK_VitalityBlood('Ahlx');
        this._abilities.set('Ahlx', this.DK_VitalityBlood);

        this.DK_DeathCoil = new DK_DeathCoil('Aswr');
        this._abilities.set('Aswr', this.DK_DeathCoil);

        this.DK_DeathHit = new DK_DeathHit('Aswd');
        this._abilities.set('Aswd', this.DK_DeathHit);

        this.DK_PlagueHit = new DK_PlagueHit('Awyd');
        this._abilities.set('Awyd', this.DK_PlagueHit);

        this.DK_PlagueDomain = new DK_PlagueDomain('Awyl');
        this._abilities.set('Awyl', this.DK_PlagueDomain);
    }
}
